package com.huabo.system.mysql.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.Transient;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * <p>
 *
 * </p>
 *
 * @author huabo
 * @since 2022-04-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("TBL_NBSJ_AUDITPLAN")
@ApiModel(value = "TblNbsjAuditplanMySql对象", description = "")
public class TblNbsjAuditplanMySql implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "计划编号")
    @TableId("PLANID")
    private BigDecimal planid;

    @ApiModelProperty(value = "计划编码")
    @TableField("PLANCODE")
    private String plancode;

    @ApiModelProperty(value = "计划名称")
    @TableField("PLANNAME")
    private String planname;

    @ApiModelProperty(value = "计划年度")
    @TableField("PALNYEAR")
    private String palnyear;

    @ApiModelProperty(value = "计划类型")
    @TableField("PLANTYPE")
    private String plantype;

    @ApiModelProperty(value = "计划对象")
    @TableField("AUDITORGID")
    private BigDecimal auditorgid;

    @ApiModelProperty(value = "计划估算费用")
    @TableField("PALNCOST")
    private BigDecimal palncost;

    @ApiModelProperty(value = "开始时间")
    @TableField("STARTTIME")
    private LocalDateTime starttime;

    @ApiModelProperty(value = "结束时间")
    @TableField("ENDTIME")
    private LocalDateTime endtime;

    @ApiModelProperty(value = "计划负责人")
    @TableField("PRINCIPALID")
    private BigDecimal principalid;

    @ApiModelProperty(value = "审计组长")
    @TableField("LEADERID")
    private BigDecimal leaderid;

    @ApiModelProperty(value = "审计目标和范围")
    @TableField("REMARKS")
    private String remarks;

    @ApiModelProperty(value = "创建人")
    @TableField("CREATESTAFFID")
    private BigDecimal createstaffid;

    @ApiModelProperty(value = "创建时间")
    @TableField("CREATETIME")
    private LocalDateTime createtime;

    @ApiModelProperty(value = "修改时间")
    @TableField("UPDATETIMR")
    private LocalDateTime updatetimr;

    @ApiModelProperty(value = "项目状态")
    @TableField("STATUS")
    private BigDecimal status;

    @ApiModelProperty(value = "审批状态")
    @TableField("OPINIONSTATUS")
    private BigDecimal opinionstatus;

    @ApiModelProperty(value = "未知")
    @TableField("ISAUDITOR")
    private String isauditor;


    @ApiModelProperty(value = "主键Id 自增")
    @Transient
    private BigDecimal attid;

    @ApiModelProperty(value = "附件名称")
    @Transient
    private String attname;

    @ApiModelProperty(value = "附件路径")
    @Transient
    private String attpath;

    @ApiModelProperty(value = "附件大小")
    @Transient
    private BigDecimal attsize;

    @ApiModelProperty(value = "备注")
    @Transient
    private String memo;

    @ApiModelProperty(value = "上传时间")
    @Transient
    private LocalDateTime uploadtime;

    @ApiModelProperty(value = "上传人")
    @Transient
    private String uploader;

    @ApiModelProperty(value = "是否是python爬取文件 0是")
    @Transient
    private String ispythonflag;


    @Transient
    private BigDecimal staffid;//主键ID,自动增长
    @Transient
    private String realname;//真实名字
    @Transient
    private String fixedphone;//固定电话
    @Transient
    private String address;//地址
    @Transient
    private String email;//邮箱
    @Transient
    private String miblephone;//手机号码
    @Transient
    private String username;//用户名（登录名）
    @Transient
    private String password;//密码
    @Transient
    private BigDecimal jobid;//岗位ID
    @Transient
    @JSONField(format = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
    @Transient
    private BigDecimal orgid;//组织Id
    @Transient//角色id
    private BigDecimal roleid;
    @Transient
    private Integer outSideId; //标识用户来源 为null是本系统，1：蜂信，2,蜂信购买后的用户   3：华博云系统注册用户管理员  以后可能为2,3...来表示其它来源
    @Transient
    private String outSideOpenId; //外部同步企业来源Id

}
